package com.mgkj.mapper;

import com.mgkj.dto.*;
import com.mgkj.entity.Copma;
import com.mgkj.entity.InvBarcodeOperation;
import com.mgkj.entity.SalesSummary;
import com.mgkj.entity.WmsInvml;
import com.mgkj.vo.BarCodeDetailVo;
import com.mgkj.vo.CmsmqVo;
import com.mgkj.vo.DeliveryDetailVo;
import com.mgkj.vo.InvBarcodeOperationVo;
import com.mgkj.vo.yf.itemVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DeliveryNoticeMapper {





    List<DeliveryNotice> getDeliveryNoticeList();

    List<DeliveryWarehouse> getDeliveryWarehouseList(@Param("docNoList") List<String> docNoList);

    List<DeliveryDetail> getDeliveryDetail(DeliveryDetailDTO detailDTO);

    BarCodeDetailVo getBarCodeDetailByBarCode(@Param("barCode") String barCode);

    boolean saveDeliveryDetailSummary(@Param("detail") DeliveryDetailVo detail, @Param("createBy") String createBy);

    List<DeliveryDetail> getDeliveryDetailSummaryByCreateBy(@Param("createBy") String createBy);

    int deleteDeliveryDetailSummaryByCreateBy(@Param("createBy") String createBy);

    int saveInvBarCodeOperation(@Param("barCodeDetailVo")BarCodeDetailVo barCodeDetailVo,@Param("createBy") String createBy);

    List<BarCodeDetailVo> getBarCodeDetailByCreateBy(@Param("createBy") String createBy);

    List<SalesSummary> getSalesSummaryByItemCode(@Param("itemCode") String itemCode, @Param("createBy") String createBy);

    int saveSalesSummary(@Param("detail") DeliveryDetail detail,@Param("createBy") String createBy);

    int updateBmBarcodeDetailOfQty(@Param("barcode") String barcode,@Param("qty") double qty);

    int updateSalesSummaryOfMatchQty(@Param("id") String id,@Param("qty") Double qty,@Param("createBy") String createBy,@Param("barCode") String barCode);

    List<SalesSummary> getSalesSummaryByCreateBy(@Param("createBy") String createBy);

    String getMaxBarCodeDetail(String queryBarCode);

    List<InvBarcodeOperationVo> getInvBarcodeOperationVo(String createBy);

    int deleteInvBarcodeOperationByCreateBy(String createBy);

    Double getQtySum(String barCode);

    Integer getUnMatchQtyList(String createBy);

    InvBarcodeOperation getInvBarcodeOperationById(String id);

    boolean deleteInvBarcodeOperationById(String id);

    int updateQtySubtraction(@Param("id") String id, @Param("qty") double v, @Param("createBy") String createBy);

    Integer isScanningCodeRecord(String createBy);

    int updateQtyZero(String id, double qty, String createBy);

    List<CmsmqVo> selectXhVo();

    List<Copma> getCustomInfo(CustomInfoDto dto);

    List<itemVo> selectItemVo(@Param("itemCode") String itemCode, @Param("warehouseCode") String warehouseCode);

    List<WmsInvml> selectWmsInvmlList(@Param("itemCode") String itemCode, @Param("warehouseCode") String warehouseCode);
}
